Шаг 4 - Первый апплет

Загрузить проект

Первым делом источники:

По мере написания шагов этот список будет пополняться. Теперь приступим...

Введение

Апплет - это своеобразное приложение которое, обычно, распространяется сквозь интернет и исполняется в окне браузера под управлением виртуальной машины Java (JVM). Из-за этого в нем есть ряд особенностей и ограничений.
Во-первых, поскольку апплет размещается внутри веб-страницы, он не имеет своего собственного полноценного окна, а всего-лишь область которую ему предоставляет браузер.
Во-вторых существуют ограничения из-за требований безопастности к апплетам. Главное из них - апплет не может работать с локальными файлами в отличие от Java-приложений.

Немного теории

Для создания апплета его главный класс наследуется от класса Applet из библиотеки java.applet. Чем является этот предок? Вот его родословная:

Object > Component > Container > Panel > Applet

Обо всех по порядку:

Создаем код

Открываем какое-нибудь средство написания кода (ну это у кого какое, я навязываться не хочу, можно IDE или блокнот, кстати, средство не из худших). Я назвал файл MyFirstApplet.java. Если предпочитаете другое имя - не забудьте так назвать и класс апплета.
import java.applet.Applet;
import java.awt.Graphics;

public class FirstApplet extends Applet
{
  public void init()
  {
  }
  public void start()
  {
  }
  public void stop()
  {
  }
  public void destroy()
  {
  }
  public void paint(Graphics Gr)
  {
    Gr.drawString("Hello world!",  135, 100);
  }
  public String getAppletInfo()
  {
    return "Our First Applet";
  }
}

Разбираем код

В первых двух строках подключаем два класса из стандартных библиотек Java. Первый из них нам уже известен. Второй, как видно из названия имеет отношение к графике. Далее объявляем наш главный класс, унаследовав его от библиотечного Applet. Далее ряд методов которые здесь ничего не делают, но зато у меня есть повод рассказать о них:

Далее метод  paint, который вызывается когда апплету требуется перерисоваться. Его параметр Graphics умеет рисовать, этим мы и воспользуемся:

Gr.drawString("Hello world!",  135, 100);
- выводим, где-то в центре апплета, любимую строку первых приложений на многих языках (координаты я на глаз подобрал - не критикуйте пожалуйста). Пока об этом все, но о методе paint и его параметре мы еще не раз поговорим.

И наконец - метод getAppletInfo. Он существует на тот случай, если извне (например из javascript) у апплета спросят кто он.

С этим справились, компилируем и получаем файл FirstApplet.class.

Запускаем апплет

Кто решит посмотреть на апплет в appletviewer из jdk - тот будет прав, но я предлагаю посмотреть на него в браузере. Кстати если у кого нет браузера поддерживающего Java то рекомендую Opera 5.12. Опять же я не хочу навязываться, но у Opera есть пара преимуществ: бесплатный, быстрый и главное использует JRE от Sun!. Создаем в блокноте страницу:

<HTML>
<HEAD>
<TITLE>First applet</TITLE>
</HEAD>
<BODY>
<APPLET
code=FirstApplet.class
height=200
width=320>
</APPLET>
</BODY>
</HTML>

Дадим файлу редкое имя index.htm и сохраним в тот же каталог что и наш файл FirstApplet.class. О создании веб страниц рассказывать не буду, если кто не знает, то вам сюда. Остановлюсь только на самом интересном для нас тэге <applet>. C его параметрами ALIGN, HEIGHT, WIDTH, HSPACE, VSPACE и NAME тоже все понятно, мы же читали соответствующие шаги. Обратим внимание только на специфические параметры апплета:

Не упомянул я только об операторе <param> с помощью которого в апплет передаются параметры, для него напишем отдельный шаг. Итак открываем браузером локально нашу страницу, критикуем результат, допиваем (n+1)-ую чашку кофе (или чего покрепче). Если не получилось загрузите проект и сравните.

Как было отмечено, мы открыли страницу апплета локально, но в дальнейшем так дело не пойдет когда будем тестировать ,например, апплет который скачивает себе данные с сервера и т.д. Установите себе Веб-сервер. Опять же не хочу на вас давить, но лучше если это будет Apache. Где его взять и как установить в шаге 2 из раздела HTML&WEB.

Дальше

В следующем шаге мы внедрим в апплет пару элементов управления.
Автор: Vitaly.
Hosted by uCoz